Container-based management method by changing intelligent container component execution priority using remote calls via remote access unit and remote network functon module

ABSTRACT

A method for managing AI components installed in containers is provided. The container-based component management method creates a container, installs at least one selected from a plurality of components in the container, and manages the components installed in the container. Accordingly, the execution priorities of the AI components installed in the containers can be managed and operated, such that degradation of system performance and frequent error occurrence can be prevented.

TECHNICAL FIELD OF THE INVENTION

The present disclosure relates generally to virtualization technologyfor distributing computing resources to users, and more particularly, tocontainer-based virtualization technology for providing a virtualenvironment which has an independent operating system mounted thereinand adopting a process execution method.

BACKGROUND OF THE INVENTION

Container-based virtualization technology capable of overcoming theshortcomings of existing virtual machines, which require high-capacitymemory regions and high central processing unit (CPU) performance,supports user services by executing a processor in the space of anetwork, a CPU, a memory, and a disk which are isolated from oneanother. Therefore, there are advantages of enhanced execution speed andminimized use of computing resources.

However, when an internal function for implementing software (SW) isdesigned, the processor is normally assigned a differential order overthe operating system, and performs functions. Therefore, there is a riskthat, when an error occurs, all of the functions stop.

In particular, when artificial intelligent (AI) components providingenhanced functions are standardized and are applied to a design system,there may be difficulty in smoothly interacting with a manager withoutdegrading system performance.

In addition, such container-based virtualization technology requiresnetwork abstraction in a host operating system. However, current localnetwork abstraction techniques have a limit to performing a functionrelated to calling of an internal program of a container at a remotedistance.

Accordingly, there is a demand for a method for calling an internalprogram of a container at a remote distance.

SUMMARY OF THE INVENTION

To address the above-discussed deficiencies of the prior art, it is aprimary object of the present disclosure to provide a method formanaging execution priorities of AI components installed in containers.

In addition, another object of the present disclosure is to provide amethod for calling an internal program of a container at a remotedistance.

According to an embodiment of the present disclosure to achieve theabove-described objects, a container-based component management methodincludes: a first creation step of creating a first container; a firstinstallation step of installing at least one selected from a pluralityof components in the first container; and a first management step ofmanaging the components installed in the first container.

The first management step may include managing execution priorities ofthe components installed in the first container.

The method according to the present embodiment may further include: asecond creation step of creating a second container; and a secondinstallation step of installing at least one selected from a pluralityof components in the second container.

The method according to the present embodiment may further include asecond management step of managing the components installed in thesecond container.

The second management step may include managing execution priorities ofthe components installed in the second container.

The first management step may be performed by a manager provided in adocker which performs the first creation step and the first installationstep.

The docker may further perform the second creation step and the secondinstallation step, and the manager may further perform the secondmanagement step.

The method according to the present embodiment may further include afirst calling step of remotely calling a component installed in thefirst container.

The first calling step may include remotely calling the componentinstalled in the first container through a first remote access unitinstalled in the first container.

The first calling step may include accessing the first remote accessunit through a remote network function module installed in a localnetwork abstraction module.

The method according to the present embodiment may further include: asecond creation step of creating a second container; and a secondcalling step of remotely calling a component installed in the secondcontainer.

The second calling step may include remotely calling the componentinstalled in the second container through a second remote access unitinstalled in the second container.

The second calling step may include accessing the second remote accessunit through a remote network function module installed in a localnetwork abstraction module.

The calling may be for editing the component.

According to another embodiment of the present disclosure, avirtualization system includes: a docker configured to create a firstcontainer; and a manager configured to install at least one selectedfrom a plurality of components in the first container, and to manage thecomponents installed in the first container.

According to embodiments of the present disclosure as described above,the execution priorities of the AI components installed in thecontainers can be managed and operated, such that degradation of systemperformance and frequent error occurrence can be prevented.

In addition, according to embodiments of the present disclosure, theinternal program of the container can be remotely called, such that thefunction of the component can be modified or edited at a remote distancein the container-based virtualization system.

Other aspects, advantages, and salient features of the invention willbecome apparent to those skilled in the art from the following detaileddescription, which, taken in conjunction with the annexed drawings,discloses exemplary embodiments of the invention.

Before undertaking the DETAILED DESCRIPTION OF THE INVENTION below, itmay be advantageous to set forth definitions of certain words andphrases used throughout this patent document: the terms “include” and“comprise,” as well as derivatives thereof, mean inclusion withoutlimitation; the term “or,” is inclusive, meaning and/or; the phrases“associated with” and “associated therewith,” as well as derivativesthereof, may mean to include, be included within, interconnect with,contain, be contained within, connect to or with, couple to or with, becommunicable with, cooperate with, interleave, juxtapose, be proximateto, be bound to or with, have, have a property of, or the like.Definitions for certain words and phrases are provided throughout thispatent document, those of ordinary skill in the art should understandthat in many, if not most instances, such definitions apply to prior, aswell as future uses of such defined words and phrases.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present disclosure and itsadvantages, reference is now made to the following description taken inconjunction with the accompanying drawings, in which like referencenumerals represent like parts:

FIG. 1 is a view illustrating a structure of a container-basedvirtualization system;

FIG. 2 is a view provided to explain a container-based AI componentinstallation method according to an embodiment of the presentdisclosure;

FIG. 3 is a view provided to explain a container-based AI componentmanagement method according to another embodiment of the presentdisclosure;

FIG. 4 is a flowchart provided to explain a container-based AI componentinstallation/management method according to still another embodiment ofthe present disclosure;

FIG. 5 is a view illustrating a structure of a container-basedvirtualization system;

FIG. 6 is a view illustrating a virtualization system according to anembodiment of the present disclosure;

FIG. 7 is a flowchart provided to explain a container-based method forcalling a program at a remote distance according to another embodimentof the present disclosure; and

FIG. 8 is a view illustrating a hardware structure of a cloud serverwhich can implement a virtualization system according to still anotherembodiment of the present disclosure.

DETAILED DESCRIPTION OF THE INVENTION

Hereinafter, the present disclosure will be described in detail withreference to the accompanying drawings.

FIG. 1 is a view illustrating a structure of a container-basedvirtualization system. Container-based virtualization provides a virtualenvironment of a process execution method which is differentiated fromthe concept of a virtual machine having an independent operating systemmounted therein. Accordingly, in a distributed computing environmentsuch as a cloud infrastructure, stability and security of the system canbe further enhanced.

The container-based virtualization system refers to a structure in whicha docker 110 and containers 130-1, 130-2, 130-(n-1), and 130-n arecreated in a superordinate layer of an operating system 160.

The docker 110 creates the containers 130-1, 130-2, 130-(n-1), and 130-nwith resources isolated according to users, and the containers 130-1,130-2, 130-(n-1), and 130-n have their required internal programsinstalled therein, respectively.

The internal programs installed in the containers 130-1, 130-2,130-(n-1), and 130-n indicate AI components which are AI programsindependently operated to implement AI functions capable of performing aplug-and-play.

The AI component refers to a program that has various AI functions, suchas machine learning, interaction, emotion recognition, or the like,integrated into a component.

Hereinafter, a method in which the docker 110 installs AI components inthe containers 130-1, 130-2, 130-(n-1), and 130-n, and manages the samewill be described in detail with reference to FIGS. 2 and 3.

FIG. 2 is a view provided to explain a container-based AI componentinstallation method according to an embodiment of the presentdisclosure.

As shown in FIG. 2, the docker 110 may include a container manager 120.The container manager 120 installs AI components in the containers130-1, 130-2, 130-(n-1), and 130-n.

Specifically, a component interface 140 selects at least one ofpre-created/stored AI components 150, and generates an image, and thecontainer manager 120 receives the image from the component interface140 and installs the image in a corresponding container. Accordingly, aninternal program of the corresponding container may be driven.

FIG. 3 is a view provided to explain a container-based AI componentmanagement method according to another embodiment of the presentdisclosure.

As shown in FIG. 3, the container manager 120 includes a QoS manager125. The QoS manager 125 sets execution priorities of the AI componentsinstalled in the containers 130-1, 130-2, 130-(n-1), and 130-n, andtransmits the set execution priority information to the containers130-1, 130-2, 130-(n-1), and 130-n.

The execution priorities of the AI components may vary according to thecontainers 130-1, 130-2, 130-(n-1), and 130-n.

The containers 130-1, 130-2, 130-(n-1), and 130-n retain the executionpriority information provided from the QoS manager 125, operate the AIcomponents according to the priority information, and maximize drivingefficiency of the AI components, and eventually, realize performanceoptimization of the AI components in a virtual environment.

FIG. 4 is a flowchart provided to explain a container-based AI componentinstallation/management method according to still another embodiment ofthe present disclosure.

As shown in FIG. 4, the docker 110 creates a container (S210), and thecontainer manager 120 receives an image which is created by thecomponent interface 140 selecting at least one of the pre-created/storedAI components 150 (S220), and installs the image in a correspondingcontainer (S230).

Next, the QoS manager 125 of the container manager 120 sets executionpriorities of the AI components installed in the containers 130-1,130-2, 130-(n-1), and 130-n (S240), and transmits the set executionpriority information to the containers 130-1, 130-2, 130-(n-1), and130-n (S250).

Accordingly, the containers 130-1, 130-2, 130-(n-1), and 130-n operatethe AI components according to the execution priorities (S260).

The container-based AI component installation/management methods havebeen described up to now.

Embodiments of the present disclosure suggest making an independent AIprogram, which provides an enhanced function, into a component, andimplementing a mutual interface function for managing AI component data,which supports a plug-and-play associated with container-basedvirtualization technology, so as to efficiently respond to a virtualenvironment.

Accordingly, the efficiency of driving the AI component functions can bemaximized, an interface for optimizing the performance of AI componentsin the virtual environment can be realized, and real-time processingthrough execution priorities of the AI components and QoS supporting canbe achieved.

Hereinafter, a method for remotely calling an AI component will bedescribed.

FIG. 5 is a view illustrating a structure of a container-basedvirtualization system. The container-based virtualization provides avirtual environment of a process execution method, differentied from theconcept of a virtual machine having an independent operating systemmounted therein, and further enhances stability and security of thesystem.

As shown in FIG. 5, the container-based virtualization system isestablished by including containers 310-1, 310-2, 310-3, and 310-n, alocal network abstraction module 320, and an operating system 330.

The containers 310-1, 310-2, 310-3, and 310-n create resources which areisolated from one another according to users. The containers 310-1,310-2, 310-3, and 310-n have their required internal programs installedtherein, respectively.

The internal programs installed in the containers 310-1, 310-2, 310-3,and 310-n may be AI programs, which are operated independently andimplement the AI functions capable of performing a plug-and-play, thatis, the above-described AI components.

In addition to the AI components, programs of other types may beinstalled in the containers 310-1, 310-2, 310-3, and 310-n, and even inthis case, the technical concept of the present disclosure can beapplied.

The local network abstraction module 320 is a module for a communicationinterface of the containers 310-1, 310-2, 310-3, and 310-n in thevirtual system.

Hereinafter, a structure of a container-based virtualization systemcapable of remotely calling an internal program of a container will bedescribed in detail with reference to FIG. 6. FIG. 6 is a viewillustrating a virtualization system according to an embodiment of thepresent disclosure.

As shown in FIG. 6, in addition to internal programs (algorithms,libraries, etc.) of various purposes, remote access units 315 areinstalled in the containers 310-1, 310-2, 310-3, and 310-n.

The remote access units 315 enable external programs to call theinternal programs of the containers 310-1, 310-2, 310-3, and 310-n, andto change or edit functions of the internal programs (for example, AIcomponents).

The remote access unit 315 installed in the container-1 310-1 is forcalling the internal program of the container-1 310-1, the remote accessunit 315 installed in the container-2 310-2 is for calling the internalprogram of the container-2 310-2, the remote access unit 315 installedin the container-3 310-3 is for calling the internal program of thecontainer-3 310-3, and the remote access unit 315 installed in thecontainer-n 310-n is for calling the internal program of the container-n310-n.

In addition, as shown in FIG. 6, a remote network function module 325 isprovided in the local network abstraction module 320. The remote networkfunction module 325 supports the external programs to access/interworkwith the remote access units 315 of the containers 310-1, 310-2, 310-3,and 310-n.

FIG. 7 is a flowchart provided to explain a container-based method forremotely calling a program according to another embodiment of thepresent disclosure.

As shown in FIG. 7, when a container is created (S410), an internalprogram (AI component) is installed in the container (S420), and aremote access unit is installed to be able to remotely call a programbased on the container (S430).

The order of steps S420 and S430, that is, the order of installing theinternal program and the remote access unit in the container, may bechanged.

Then, an external program accesses the remote access unit of thecontainer in which an internal program that the external program intendsto call is installed through the remote network function module of thelocal network abstraction module (S440).

Thereafter, the external program calls the internal program of thecontainer by interworking with the remote access unit (S450).

Meanwhile, the execution priority of the AI component called by theremote access unit can be increased. Furthermore, the execution priorityof the AI component the function of which is changed or edited afterbeing called can be further increased.

In other words, the execution priority of the AI component which is justcalled may be increased by one step, and the execution priority of theAI component the function of which is changed or edited after beingcalled may be increased by two steps.

Preferred embodiments of the method for remotely calling the internalprogram (AI component) of the container have been described in detail upto now.

Embodiments of the present disclosure suggest the method for remotelyfunction-calling various AI components which are operated independentlyand are capable of performing a plug-and-play, and, by this method, canmaximize performance and efficiency of virtualization resources.

FIG. 8 is a view illustrating a hardware structure of a cloud serverwhich can implement a virtualization system according to still anotherembodiment of the present disclosure. As shown in FIG. 8, the cloudserver includes a communication unit 510, a processor 520, and a storage530.

The communication unit 510 may be for communicating with another serveror an external terminal through a network, and the processor 520configures/operates the above-described virtualization system, and inparticular, performs procedures necessary for creating/managing AIcomponents, and for remotely calling, changing, or editing. The storage530 provides a storage space necessary for configuring/operating thevirtualization system.

The technical idea of the present disclosure may be applied to acomputer-readable recording medium which records a computer program forperforming functions of the apparatus and the method according to thepresent embodiments. In addition, the technical idea according tovarious embodiments of the present disclosure may be implemented in theform of a computer-readable code recorded on a computer-readablerecording medium. The computer-readable recording medium may be any datastorage device that can be read by a computer and can store data. Forexample, the computer-readable recording medium may be a read onlymemory (ROM), a random access memory (RAM), a CD-ROM, a magnetic tape, afloppy disk, an optical disk, a hard disk drive, or the like. Acomputer-readable code or program that is stored in thecomputer-readable recording medium may be transmitted via a networkconnected between computers.

In addition, while preferred embodiments of the present disclosure havebeen illustrated and described, the present disclosure is not limited tothe above-described specific embodiments. Various changes can be made bya person skilled in the art without departing from the scope of thepresent disclosure claimed in claims, and also, changed embodimentsshould not be understood as being separate from the technical idea orprospect of the present disclosure.

What is claimed is:
 1. A container-based component management methodwithin a virtualization system, the method comprising: creating aplurality of containers; installing at least one component selected froma plurality of components in each container of the plurality ofcontainers; installing a remote access unit in the each container of theplurality of containers; setting execution priorities of componentsinstalled in the plurality of containers; and remotely calling, througha first remote access unit installed a first container among theplurality of containers, and a remote network function module installedin a local network abstraction module of the virtualization system, acomponent installed in the first container and changing an executionpriority of the called component by an external program through thefirst remote access unit and the remote network function module.
 2. Themethod of claim 1, wherein the remotely calling of the componentcomprises accessing the first remote access unit through the remotenetwork function installed in the local network abstraction module ofthe virtualization system.
 3. A virtualization system comprising: adocker configured to create a plurality of containers; and a managerprovided in the docker and configured to install at least one componentselected from a plurality of components in each container of theplurality of containers, install a remote access unit in the eachcontainer of the plurality of containers; and set execution prioritiesof components installed in the plurality of container, wherein acomponent installed in a first container among the plurality ofcontainers is remotely called through a first remote access unitinstalled the first container and a remote network function moduleinstalled in a local network abstraction module of the virtualizationsystem, and an execution priority of the called component is remotelychanged by an external program through the first remote access unit andthe remote network function module.